package Single;
//单例模式-饿汉式
//在类加载的时候就创建，可能存在资源浪费的问题
public class SingleTon01 {
    public static void main(String[] args) {
        System.out.println(GirlFriend.n1);
//        GirlFriend gf = GirlFriend.getInstance();
//        System.out.println(gf);
    }
}

class GirlFriend{
    private String name;
    public static int n1 = 99;
    //为了能够在静态方法中，返回gf对象，所以需要其修饰为static
    private static GirlFriend gf = new GirlFriend("小遥");

    //如何保障只有一个GirlFriend对象
    //1.将构造器私有化
    //2.在类的内部创建一个对象
    //3.提供一个公共的static方法，返回gf对象
    private GirlFriend(String name) {
        System.out.println("构造器被调用..");
        this.name = name;
    }

    public static GirlFriend getInstance(){
        return gf;
    }

    @Override
    public String toString() {
        return "GirlFriend{" +
                "name='" + name + '\'' +
                '}';
    }
}